//引入常量
import { INCREMENTCOUNT, DECREMENTCOUNT } from '../constant/countConst'

import store from '../store'
// export const incrementAction = {
//     type: 'incrementCount'
//     data: 1
// }
// 这样暴露就把动作写死了,永远只能+1,如果需要+3 +5无法实现.
// 所以我们可以定义一个函数,将来用参数来决定data的值

// 累加的action
export const incrementAction = (data) => {
  return {
    type: INCREMENTCOUNT,
    data
  }
}

// 累减的action
export const decrementAction = (data) => {
  return {
    type: DECREMENTCOUNT,
    data
  }
}


// 异步action
export const waitIncrementAction = (data) => {
  return () => {
    setTimeout(() => {
      store.dispatch({
        type: INCREMENTCOUNT,
        data
      })
    }, 2000)
  }
}






//把我们的一些行为单独提出来统一管理
//第一个管理action,目前我们有两个action (做加法 & 做减法)
//1.配置好之后我们需要在Count中去引入它们

//2.第二个是异步的定时器.
// 我们希望把计时器提出来,return出来是一个定时器函数,store只能接收对象,
// 所以我们需要用到一个中间件,下载并在store中引入

